home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / cpu / t11 / t11.h < prev    next >
C/C++ Source or Header  |  1999-04-03  |  3KB  |  71 lines

  1. /*** T-11: Portable DEC T-11 emulator ******************************************/
  2.  
  3. #ifndef _T11_H
  4. #define _T11_H
  5.  
  6. #include "memory.h"
  7. #include "osd_cpu.h"
  8.  
  9. enum {
  10.     T11_R0=1, T11_R1, T11_R2, T11_R3, T11_R4, T11_R5, T11_SP, T11_PC, T11_PSW,
  11.     T11_IRQ0_STATE, T11_IRQ1_STATE, T11_IRQ2_STATE, T11_IRQ3_STATE,
  12.     T11_BANK0, T11_BANK1, T11_BANK2, T11_BANK3,
  13.     T11_BANK4, T11_BANK5, T11_BANK6, T11_BANK7 };
  14.  
  15. #define T11_INT_NONE    -1      /* No interrupt requested */
  16. #define T11_IRQ0        0      /* IRQ0 */
  17. #define T11_IRQ1        1       /* IRQ1 */
  18. #define T11_IRQ2        2       /* IRQ2 */
  19. #define T11_IRQ3        3       /* IRQ3 */
  20.  
  21. #define T11_RESERVED    0x000   /* Reserved vector */
  22. #define T11_TIMEOUT     0x004   /* Time-out/system error vector */
  23. #define T11_ILLINST     0x008   /* Illegal and reserved instruction vector */
  24. #define T11_BPT         0x00C   /* BPT instruction vector */
  25. #define T11_IOT         0x010   /* IOT instruction vector */
  26. #define T11_PWRFAIL     0x014   /* Power fail vector */
  27. #define T11_EMT         0x018   /* EMT instruction vector */
  28. #define T11_TRAP        0x01C   /* TRAP instruction vector */
  29.  
  30. /* PUBLIC GLOBALS */
  31. extern int  t11_ICount;
  32.  
  33.  
  34. /* PUBLIC FUNCTIONS */
  35. extern void t11_reset(void *param);
  36. extern void t11_exit(void);
  37. extern int t11_execute(int cycles);    /* NS 970908 */
  38. extern unsigned t11_get_context(void *dst);
  39. extern void t11_set_context(void *src);
  40. extern unsigned t11_get_pc(void);
  41. extern void t11_set_pc(unsigned val);
  42. extern unsigned t11_get_sp(void);
  43. extern void t11_set_sp(unsigned val);
  44. extern unsigned t11_get_reg(int regnum);
  45. extern void t11_set_reg(int regnum, unsigned val);
  46. extern void t11_set_nmi_line(int state);
  47. extern void t11_set_irq_line(int irqline, int state);
  48. extern void t11_set_irq_callback(int (*callback)(int irqline));
  49. extern const char *t11_info(void *context, int regnum);
  50. extern unsigned t11_dasm(char *buffer, unsigned pc);
  51.  
  52. extern void t11_SetBank(int banknum, unsigned char *address);
  53.  
  54. /****************************************************************************/
  55. /* Read a byte from given memory location                                   */
  56. /****************************************************************************/
  57. #define T11_RDMEM(A) ((unsigned)cpu_readmem16lew(A))
  58. #define T11_RDMEM_WORD(A) ((unsigned)cpu_readmem16lew_word(A))
  59.  
  60. /****************************************************************************/
  61. /* Write a byte to given memory location                                    */
  62. /****************************************************************************/
  63. #define T11_WRMEM(A,V) (cpu_writemem16lew(A,V))
  64. #define T11_WRMEM_WORD(A,V) (cpu_writemem16lew_word(A,V))
  65.  
  66. #ifdef MAME_DEBUG
  67. extern unsigned DasmT11(char *buffer, unsigned pc);
  68. #endif
  69.  
  70. #endif /* _T11_H */
  71.